FreeTROS @STC32G	PendSv  ֲ  tzz1983  2024/4/5


: STC MUC 251ںϵ FreeTROS_V10.5.1  ֲ汾.
	һӲжģPendSvΪ, л.PendSvռһжԴ.
	˰汾ֲ portYIELD_FROM_ISR() ȱʧ⣮
	ֻOS˲,գ


ʹ֪:
1.ѡ Ŀѡȫ "Generate reentrant functions",ѡ.
2.ֲҪǿָ洢.
3.ʱ0ϵͳδ,́꼶.




ʱԴ: 		ת Config.h


PendSv 	תos_pendsv_config.h



ʹü: 
		Ժ,ջѱ. OS_Get_STACK_Addr()ջַ.
		ʵ,һСΪSTACKSIZEڴɹʹ.




2026/9/14 


C251 FreeRTOS ֲŻѷ XDATA EDATA ռôӼ KB  0

ƽ̨STC32G ϵ / C251 ں / Keil C251 
FreeRTOS 汾V10.5.1汾ɲο˼·䣩

һĶ

C251  EDATA ռޣ FreeRTOS ĬϰѶѣucHeapʹȫֱ EDATA¿ɴޡֲͨ·ʽ EDATA ռã

1.Ƶ XDATA

2.Ƶıʽŵ DATA 

3.ȫ̬ջ EDATA

4.ֲ @DR4  TCB֧ TCB  XDATA

FreeRTOSConfig.h 

1.#define configSUPPORT_STATIC_ALLOCATION   1      // ̬
2.#define os_heap_mem   xdata                      // ڴضλ
3.#define os_fast_mem   data                       // Ƶıλ

ʹҪ

1.ڴط XDATA뿪ֻ̬ܾ̬
ԭ򣺶 XDATA ʱ̬ջҲ XDATA C251 Ӳ PUSH/POP ֻܷ EDATAջû̬ṩ EDATAʾĿе C ĵ

2.ģʽѡ LargeƼ  XSmall

3.Ҫʵֿڴ乴Ӻ vApplicationGetIdleTaskMemory().

4.ʱconfigUSE_TIMERS == 1ʵ vApplicationGetTimerTaskMemory()ΪͶʱṩ EDATA ڴ档ʾĿе C ĵ


ġ汾ص

1.ڴط XDATAٶ EDATA 

2.Large ģʽ£OS ڲȫֱos_fast_mem ָĸƵ⣩Ĭ϶λ XDATAһ EDATA ռá

3.os_fast_mem ѵȡTickٽȸƵʽŵ DATA  EDATA 죩ҲܱģʽӰ졣

4.EDATA ռôӼ KB ʮֽڣɴӡ


塢 FreeRTOS Դĸ

ȫ os_heap_memos_fast_mem ɶλиĶ㡣궨ΪռɻָԭʼΪucHeap Ĵ洢λýȡڱģʽ


ֲĸ

port.c УPendSV /ָ· @DR4  TCB ָ룬֧ TCB  XDATAЧӰСpxCurrentTCB Է EDATAֱѰַ


ߡ֪

뾲̬


